package com.fs.service;

import com.fs.dto.ProductAddDTO;
import com.fs.entity.Product;

import java.util.List;

/**
 * 商品业务层接口
 * 定义商品模块的核心业务逻辑：添加、查询、更新、删除
 */
public interface ProductService {

    /**
     * 添加商品
     * @param dto 商品添加DTO对象
     */
    void addProduct(ProductAddDTO dto);

    /**
     * 根据商品ID查询商品
     * @param id 商品ID
     * @return 商品信息
     */
    Product getById(Long id);

    /**
     * 更新商品信息
     * @param product 商品实体类
     */
    void updateProduct(Product product);

    void changeStatus(Long id, Integer status);

    /**
     * 批量删除商品
     * @param ids 商品ID列表
     */
    void deleteBatch(List<Long> ids);

    /**
     * 条件查询（无分页）——返回 ProductVO 或 Product 实体的列表
     */
    List<?> queryByCondition(String name, String type, String tag, Integer status, String sortField, String sortOrder);
}
